The present invention relates to techniques for preloading data into memory on programmable circuits, and more particularly, to techniques for allowing a user to selectively program on-chip memory blocks in a programmable circuit before the start of user mode.
Programmable integrated circuits (ICs) contain programmable digital circuitry that can be configured to implement a variety of user designs. After the programmable IC is configured according to a user design, a user operates the programmable IC in a selected application. The user-configured operation of the programmable IC is referred to as user mode. Programmable integrated circuits include field programmable gate arrays (FPGAs), programmable logic devices (PLDs), configurable logic arrays, programmable logic arrays (PLAs), etc.
Programmable integrated circuits include numerous programmable circuit elements such as logic elements and memory blocks. Altera Corporation manufactures a family of PLDs referred to as the Stratix PLDs. The Stratix PLDs include large memory blocks referred to as MRAM blocks.
MRAM locks can be programmed in the user mode. The data bits are transmitted to the MRAM block along a large number of routing wires. A separate set of routing wires are needed to transmit memory address signals to the MRAM blocks.
The large number of data and address routing wires needed to program the MRAMs are cumbersome and taken up a large amount of the routing resources on programmable ICs that have large MRAM blocks. Also, it takes a relatively long time to program many large MRAMs on a programmable IC.
Therefore, it would be desirable to provide techniques for preloading data into memory blocks on a programmable IC that saves time and reduces demand on the routing resources.